package org.jeecgframework.web.service.impl;

import org.jeecgframework.core.common.service.impl.CommonServiceImpl;
import org.jeecgframework.web.system.pojo.base.CbsEquipmentErrorTypeEntity;
import org.jeecgframework.web.service.CbsEquipmentErrorTypeServiceI;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import java.io.Serializable;
import java.util.UUID;

@Service("cbsEquipmentErrorTypeService")
@Transactional
public class CbsEquipmentErrorTypeServiceImpl extends CommonServiceImpl implements CbsEquipmentErrorTypeServiceI {


    public <T> void delete(T entity) {
        super.delete ( entity );
        //执行删除操作配置的sql增强
        this.doDelSql ( (CbsEquipmentErrorTypeEntity) entity );
    }

    public <T> Serializable save(T entity) {
        Serializable t = super.save ( entity );
        //执行新增操作配置的sql增强
        this.doAddSql ( (CbsEquipmentErrorTypeEntity) entity );
        return t;
    }

    public <T> void saveOrUpdate(T entity) {
        super.saveOrUpdate ( entity );
        //执行更新操作配置的sql增强
        this.doUpdateSql ( (CbsEquipmentErrorTypeEntity) entity );
    }

    /**
     * 默认按钮-sql增强-新增操作
     *
     * @param id
     * @return
     */
    public boolean doAddSql(CbsEquipmentErrorTypeEntity t) {
        return true;
    }

    /**
     * 默认按钮-sql增强-更新操作
     *
     * @param id
     * @return
     */
    public boolean doUpdateSql(CbsEquipmentErrorTypeEntity t) {
        return true;
    }

    /**
     * 默认按钮-sql增强-删除操作
     *
     * @param id
     * @return
     */
    public boolean doDelSql(CbsEquipmentErrorTypeEntity t) {
        return true;
    }

    /**
     * 替换sql中的变量
     *
     * @param sql
     * @return
     */
    public String replaceVal(String sql, CbsEquipmentErrorTypeEntity t) {
        sql = sql.replace ( "#{id}", String.valueOf ( t.getId () ) );
        sql = sql.replace ( "#{parent_id}", String.valueOf ( t.getParentId () ) );
        sql = sql.replace ( "#{type}", String.valueOf ( t.getType () ) );
        sql = sql.replace ( "#{name}", String.valueOf ( t.getName () ) );
        sql = sql.replace ( "#{create_name}", String.valueOf ( t.getCreateName () ) );
        sql = sql.replace ( "#{create_by}", String.valueOf ( t.getCreateBy () ) );
        sql = sql.replace ( "#{create_date}", String.valueOf ( t.getCreateDate () ) );
        sql = sql.replace ( "#{update_name}", String.valueOf ( t.getUpdateName () ) );
        sql = sql.replace ( "#{update_by}", String.valueOf ( t.getUpdateBy () ) );
        sql = sql.replace ( "#{update_date}", String.valueOf ( t.getUpdateDate () ) );
        sql = sql.replace ( "#{UUID}", UUID.randomUUID ().toString () );
        return sql;
    }
}